package com.antcom.antread.common.core.baseRest.service.impl;

import com.antcom.antread.common.core.baseRest.dao.BaseRestDao;
import com.antcom.antread.common.core.baseRest.domain.BaseDomain;

import javax.inject.Inject;
import javax.transaction.Transactional;
import java.util.List;


/**
 * 基础业务处理层：BaseServiceImpl 简单的实现类
 *
 * @Author 中国蚂蚁技术有限公司
 * @create 2020/12/27 14:46
 */
public class BaseRestServiceImpl<S extends BaseRestDao,E extends BaseDomain> {

    @Inject
    protected S dao;

    /**
     * 获取全部数据
     * @param
     * @return List集合
     */
    public List<E> findList() {
        return dao.getList();
    }

    /**
     * 获取单条数据
     * @param id 要获取数据的标识
     * @return 获取的数据信息
     */
    public E get(String id) {
        return (E) dao.getOne(id);
    }

    /**
     * 删除数据
     * @param id 要删除的数据标识
     */
    @Transactional(rollbackOn = Exception.class)
    public void delete(String id) {
        dao.delete(id);
    }
}
